Satellite-based positioning systems include constellations of earth orbiting satellites that continually transmit orbit information and ranging signals to receivers. An example of a satellite-based positioning system is the Global Positioning System (GPS), which includes a constellation of earth-orbiting satellites, also referred to as GPS satellites, satellite vehicles, or space vehicles (SVs). The GPS satellites circle the earth twice a day in a very precise orbit and transmit signal information to the earth. The satellite signal information is received by GPS receivers which can be in portable or mobile units, or in fixed positions on base stations and/or servers.
A GPS receiver uses the satellite signal information to calculate the receiver's precise location. Generally the GPS receiver compares the time GPS signals or satellite signals were transmitted by a satellite with the time of receipt of that signal at the receiver. This time difference between satellite signal reception and transmission provides the receiver with information as to the range of the receiver from the transmitting satellite. Using pseudo-range measurements (pseudo because the range information is offset by an amount proportional to the offset between the GPS satellite clock and the receiver clock) from a number of additional satellites, the receiver can determine its position. The GPS receiver uses received signals from at least four satellites to calculate three-dimensional position (latitude, longitude, and altitude), or at least three satellites to calculate two-dimensional position (if altitude is known).
Each satellite transmits a unique pseudorandom code that is known by the GPS receiver. The GPS receiver correlates received satellite signals with the known pseudorandom codes to determine a signal reception time. The pseudorandom codes are transmitted continuously by the satellites approximately every thousand nanoseconds. If the satellites transmitted only these codes (denoted as the C/A codes), all a GPS receiver could determine was the time a given code was received. The GPS receiver would not know when the code was transmitted. The time of transmission by the satellite is necessary for the GPS receiver to determine the pseudorange between it and the transmitting satellite (through multiplication of the time difference between transmission and reception by the speed of light). But even the pseudorange is not enough information—the GPS receiver must also know where the transmitting satellite is located. To provide this information, the pseudorandom codes are modulated to include satellite ephemeris and almanac data. The almanac data tells the GPS receiver where each GPS satellite of the constellation should be at any time over a wide time interval that spans a few days or weeks. The broadcast ephemeris data, which is continuously transmitted by each satellite, contains important information about satellite position, velocity, clock bias, and clock drift. In particular, the broadcast ephemeris data for a GPS satellite predicts the satellite's state over a future interval of approximately four hours by describing a Keplerian element ellipse with additional corrections that then allow the satellite's position to be calculated in an earth-centered, earth-fixed (ECEF) set of rectangular coordinates at any time during the period of validity of the broadcast ephemeris data.
The broadcast ephemeris data is modulated onto the codes continuously transmitted by the GPS satellites at a rate of 50 bits per second. These bits are organized into 30-bit long words such that each word takes 0.6 second to transmit given the 50 bits per second data rate. In turn, the words are organized into sub-frames of 10 words each. It follows that each sub-frame is six seconds in length. Each sub-frame begins with a telemetry (TLM) word followed by a handover word (HOW). The HOW includes the time of week (TOW) that allows a GPS receiver to calculate the transmitted time for a given code. The TOW resets every week such that the initial sub-frame at the start of a week has a TOW of 0.0 seconds, the subsequent sub-frame has a TOW of six seconds, and so on. To calculate a pseudorange measurement, a GPS receiver must know the position of a given received code sequence within the bit/word/sub-frame organization. This knowledge is referred to as a time-to-first fix (TTFF).
A GPS receiver may recognize where a given received code sequence fits within a sub-frame because each TLM word at the start of the sub-frame begins with a unique 8-bit preamble. Thus, when a GPS receiver receives the 8-bit preamble, it can then calculate the subsequent position of a particular received code sequence. Given that the GPS receiver knows the time of reception, it may then calculate the pseudorange using the preamble-and-TOW-derived time of transmission. But noise can corrupt the bits such that a GPS receiver believes it has received the preamble due to noise when in reality the preamble was not transmitted. To protect against such a false reception, conventional GPS receivers wait another six seconds to see if the preamble is again transmitted. Although the detection of the second preamble could also be due to noise, the probability of such an occurrence is quite remote such that a TTFF may be presumed once the second preamble has been observed. Although a six second TTFF may seem rather insignificant, the length of the TTFF becomes quite important in applications such as 911 emergency calls. Lives may be saved should a GPS receiver offer a TTFF faster than six seconds.
Accordingly, there is a need in the art for GPS receivers offering improved time-to-first-fix (TTFF) times.